/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package ec.edu.ups.cidi.siia.plamdep.comunicacionweb;

import java.io.File;
import java.util.ArrayList;

import ec.edu.ups.cidi.siia.plamdep.comunicacionweb.descarga.DescargarContenido;
import ec.edu.ups.cidi.siia.plamdep.utils.configuracion.ConfiguracionConexionWeb;
import ec.edu.ups.cidi.siia.plamdep.utils.interfaces.IConexionWeb;
import ec.edu.ups.cidi.siia.plamdep.utils.interfaces.IDocumentoLectura;

/**
 *
 * @author Usuario
 */
public class ConexionWeb implements IConexionWeb
{
    
    boolean alternar=false;
    private IDocumentoLectura lector=null;
    private Busqueda buscador=new Busqueda();
    ConfiguracionConexionWeb conf=new ConfiguracionConexionWeb();
    private String urlDescargar;
    
    public ArrayList<String> buscar(String tema) 
    {
        
     //   if(alternar==true)alternar=false;
       // else alternar=true;
        return buscador.buscar(tema,alternar);
    }

    
    public Resultado descargarContenido(String url) 
    {
        Resultado r=new Resultado();
        DescargarContenido downloader=new DescargarContenido(url);
        String cont=downloader.getContenido();
        if(cont.matches("^temp/[0-9]+\\.[a-z]{3,4}$"))
        {
            String ruta=cont;
            try{
            if(lector!=null)
            {    
                lector= lector.getIntancia(ruta);
                cont=lector.getContenido();
                System.gc();
                File f=new File(ruta);
                boolean b=f.delete();
                System.out.println("borrando archivo: "+ruta+"    "+b);
                
                
            }
            }catch(Exception e){System.out.println("Error al leer archivo");}
        }
        r.setLink(url);
        r.setContenido(cont);
        
        return  r;
    }

    
    public void setCargaDocumentos(IDocumentoLectura lector)
    {
        this.lector=lector;
    }

    /**
     * URL a descargar
     * @param urlDescargar
     */
    public void setUrlDescargar(String urlDescargar) {	this.urlDescargar = urlDescargar;}
	public String getUrlDescargar() {	return urlDescargar;	}
	
    public Resultado descargarContenido()
    {
    	return this.descargarContenido(urlDescargar);
    	
    }
    
    
}
